package com.swt.gap.service;

import com.swt.gap.model.entity.OntologyNode;
import com.swt.gap.model.vo.CountPropertyVO;
import com.swt.gap.model.vo.LabelProperty;
import com.swt.gap.model.vo.element.EventElementVO;
import com.swt.gap.model.vo.ontology.ListLevelNodeVO;
import com.swt.gap.model.vo.ontology.OntologyNodeVO;

import java.util.List;
import java.util.Set;

/**
 * 请填写说明
 *
 * @author sx
 * @date 2020/6/4 16:39
 */
public interface OntologyNodeService {

    List<ListLevelNodeVO> listLevelNode();

    List<CountPropertyVO> listNodeCountProperty(Integer taskId);

    List<LabelProperty> listEventNodeProperty(Integer taskId);

    List<OntologyNodeVO> listAllOntologyNodeAndProperty();

    /**
     * 获取事件要素，即事件节点的属性以及关联节点
     * @param nodeId
     * @return
     */
    List<EventElementVO> listEventElementsAndRelNodeById(Integer nodeId);

    List<EventElementVO> listEventElementsById(Integer nodeId);

    Set<OntologyNodeVO> listRecommendNodes(List<String> header);

    List<OntologyNode> listFirstLevelNode();

    List<OntologyNode> listChildrenNodesById(Integer nodeId);
}
